// uma coordenada
Coord = function(x, y) {
	if ((x+"").indexOf('|') != -1){
		x = x.split('|');
		y = x[1];
		x = x[0];
	}
	
	this.x = int(x);
	this.y = int(y);
	

	this.distancia = function(coord) {
		return Math.sqrt(Math.pow((this.x - coord.x), 2)
				+ Math.pow((this.y - coord.y), 2));
	};
	this.equals = function(coord){
		if (coord.x == this.x && coord.y == this.y)
			return true;
		else return false;
	}
	this.toString = function(){
		return this.x + "|" + this.y;
	}
};

Tribo = function(nome, pontos, tag, id) {
	this.nome = nome;
	this.pontos = pontos;
	this.tag = tag;
	this.id = id;
};

Jogador = function(nome, pontos, id, tribo) {
	this.nome = nome;
	this.id = id;
	this.pontos = pontos;
	this.tribo = tribo;
};

Aldeia = function(coord, jogador, id, nome, pontos, lealdade) {
	this.coord = coord;
	this.jogador = jogador;
	this.id = id;
	this.nome = nome;
	this.pontos = int(pontos.replace(/\./g,''));
	this.lealdade = lealdade;
};
Recursos = function(vetor){
	this.total = 0;

	for (var i=0;i<vetor.length;i++)
		this.total += int(vetor[i]);	
};

Soldado = function(name,carga,attackUnity,velocidade,populacao,ataque,defGeral,defCavalaria,defArqueiros) {
	this.name = name;
	this.carga = carga;
	this.velocidade = velocidade;
	this.populacao = populacao;
	this.ataque = ataque;
	this.defGeral = defGeral;
	this.defCavalaria = defCavalaria;
	this.defArqueiros = defArqueiros;
	this.prioridade = 0;
	this.attackUnity = attackUnity;
	this.qte = 0;
};

Soldados = new Object();
Soldados.spear = new Soldado("spear", 25, 1, 18);
Soldados.sword = new Soldado("sword", 15, 1, 22);
Soldados.axe = new Soldado("axe", 10, 1, 18);
Soldados.archer = new Soldado("archer", 10, 1, 18);
Soldados.spy = new Soldado("spy", 0, 0, 9);
Soldados.light = new Soldado("light", 80, 1, 10);
Soldados.marcher = new Soldado("marcher", 50, 1, 10);
Soldados.heavy = new Soldado("heavy", 50, 1, 11);
Soldados.ram = new Soldado("ram", 0, 0, 30);
Soldados.catapult = new Soldado("catapult", 0, 0, 30);
Soldados.knight = new Soldado("knight", 100, 1, 10);
Soldados.snob = new Soldado("snob", 0, 0, 35);
Soldados.militia = new Soldado("militia", 0, 0, 0);

Form = function(){
	this.calls = [];
	this.result = "";
	this.label = function(name){
		this.result += "<tr><td style='text-align:right;font-size:12px'>"+name+":</td>";
		return this;
	}
	
	this.textField = function(variable){
		this.result += '<td><input type="text" id="'+variable+'" value="'+load(variable)+'"></td></tr>"';
		this.calls.push(function(){
			$('#'+variable).keyup(function(){
				log($('#'+variable).val())
				save(variable,$('#'+variable).val());
			});
		});
		return this;
	}
	
	this.make = function(){
		calls = this.calls;
		setTimeout(function(){
			var aux = null;
			while ((aux = this.calls.pop()) != null ){
				aux();
			}
		},100)
		return this.result;
	}
}

destroyWall = function(a){
	switch(a){
		case(0) : return 0;
		case(1) : return 2;
		case(2) : return 4;
		case(3) : return 7;
		case(4) : return 10;
		case(5) : return 14;
		case(6) : return 19;
		case(7) : return 24;
		case(8) : return 30;
		case(9) : return 37;
		case(10) : return 45;
		case(11) : return 55;
		case(12) : return 65;
		case(13) : return 77;
		case(14) : return 91;
		case(15) : return 106;
		case(16) : return 124;
		case(17) : return 143;
		case(18) : return 166;
		case(19) : return 191;
		case(20) : return 129;
	}
}